export const validatePass = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入密码'))
  } else {
    if (this.formCustom.passwdCheck !== '') {
      // 对第二个密码框单独验证
      this.$refs.formCustom.validateField('passwdCheck')
    }
    callback()
  }
}
export const validatePassCheck = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请再次输入密码'))
  } else if (value !== this.formCustom.passwd) {
    callback(new Error('两次密码不一致!'))
  } else {
    callback()
  }
}
export const validateAge = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('Age cannot be empty'))
  }
  // 模拟异步验证效果
  setTimeout(() => {
    if (!Number.isInteger(value)) {
      callback(new Error('Please enter a numeric value'))
    } else {
      if (value < 18) {
        callback(new Error('Must be over 18 years of age'))
      } else {
        callback()
      }
    }
  }, 1000)
}

export const validateNumber = (rule, value, callback) => {
  const reg = '^[a-zA-Z][a-zA-Z0-9_]*$'
  if (!value) {
    return callback(new Error('Age cannot be empty'))
  }
  // 模拟异步验证效果
  setTimeout(() => {
    if (reg.test(value)) {
      if (!Number.isInteger(value)) {
        callback(new Error('Please enter a numeric value'))
      } else {
        if (value < 18) {
          callback(new Error('Must be over 18 years of age'))
        } else {
          callback()
        }
      }
    }
  }, 1000)
}
export const validateEnAndNumer = (rule, value, callback) => {
  if (!/^[A-Za-z][A-Za-z0-9]+$/.test(value)) {
    callback(new Error('请输入以英文开头，英文和数字结合的字符'))
  } else {
    callback()
  }
}

export const validateSort = (rule, value, callback) => {
  const reg = /^[+]{0,1}(\d+)$/
  if (value === '') {
    callback(new Error('序号不能为空'))
  } else if (!reg.test(value)) {
    callback(new Error('请输入正整数'))
  } else {
    callback()
  }
}
export const validateareaCode = (rule, value, callback) => {
  const reg = /[^\u4e00-\u9fa5]/
  if (value === '') {
    callback(new Error('区域编码不能为空'))
  } else if (!reg.test(value)) {
    callback(new Error('区域编码只能输入英文字母或特殊符号及数字'))
  } else {
    callback()
  }
}
export const validatelongitudeX = (rule, value, callback) => {
  const reg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/
  if (value === '') {
    callback(new Error('城市经度不能为空'))
  } else if (!reg.test(value)) {
    callback(new Error('经度整数部分为0-180,小数部分为0到6位!'))
  } else {
    callback()
  }
}
export const validatelatitudeY = (rule, value, callback) => {
  const reg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/
  if (value === '') {
    callback(new Error('城市纬度不能为空'))
  } else if (!reg.test(value)) {
    callback(new Error('纬度整数部分为0-90,小数部分为0到6位!'))
  } else {
    callback()
  }
}
